Edge node for a network domain

ABSTRACT

An egress node is proposed for a network domain that comprises at least one ingress node for receiving and routing data units belonging to a plurality of flows into said network domain, a plurality of interior routers for routing said data units through said network domain, and said egress node(s). One or more of the interior routers is arranged to detect whether it is subject to a congestion condition and to congestion mark routed data units if it is subject to said congestion condition. The egress node comprises a control element arranged for performing a congestion handling function that comprises a part for detecting the presence of congestion marked data units arriving at said edge node, and a part for reacting to the detection of the presence of congestion marked data units by invoking a congestion control process. The congestion control comprises sending to said ingress node an instruction for terminating one or more flows to thereby reduce a traffic load, waiting a predetermined period of time and then determining whether congestion marked data units are still arriving at said edge node, and if congestion marked data units are still arriving, repeating the sending and waiting steps.

FIELD OF THE INVENTION

The present application relates to an edge node for a network domainthat comprises one or more ingress node(s), a plurality of interiorrouters and one or more egress node(s), to an interior router of such anetwork domain, and to corresponding control methods for an edge nodeand an interior router.

BACKGROUND OF THE INVENTION

In the field of communications packet-switched transport is widely used.Recently, IP-based transport solutions have received more attention. IPstands for Internet Protocol. The interest in IP is at least partiallydue to the flexibility and wide deployment of IP technologies. However,communication networks, such as telephone networks, have differentcharacteristics when compared to traditional IP networks, becausecommunication networks typically desire to be simple, inexpensive and tobe able to provide a defined Quality of Service (QoS). Due to Quality ofService requirements, traffic congestion control is important incommunication networks.

One of the concepts for providing QoS in IP networks is resourcereservation in routers by signalling along the data path. As an example,the Internet Engineering Task Force (IETF) standardization organisationhas specified a signalling protocol called RSVP (Resource ReSerVationProtocol) for making resource reservations in IP routers and forproviding integrated services for real-time and nonreal-time traffic inthe Internet (see e.g. R. Braden at al.: Resource Reservation Protocol(RSVP)—version 1 “Functional Specification”, RFC2205, September 1997; R.Braden at al.: “Integrated Services in the Internet Architecture: anOverview”, RFC1633, 1994; J. Roclawski: “The Use of RSVP with IETFIntegrated Services”, RFC2210, September 1997). In this technology, RSVPsignalling messages reserve resources in each router along the data pathbefore sending a real-time traffic flow. Real-time flows are admittedinto the network if resources are successfully reserved in each routeralong the data path.

This method requires storing per-flow reservation states in each routeralong the data path. The reservation states are soft states, which meansthat they have to be refreshed by sending periodic refresh messages. Ifa reserved state is not refreshed, the state and corresponding resourcesare removed after a time-out period. Reservations can also be removed byexplicit tear-down messages. With the help of per-flow states, RSVPmessages always follow the data path up- and downstream. Therefore, itis able to inter-work with standard routing protocols. If the traffic isre-routed, e.g. due to overload of a router, refresh messages makereservations in the new data path. Storing per-flow states in eachrouter also enables the possibility of local path repair. Afterre-routing, if there are not enough resources to support all flowsdesired for the new path, some flows can be terminated.

Storing and maintaining per-flow states in each router can be a problemin large networks, where the number of flows and therefore the number ofreservation states can be high. In response to this scalability problemof RSVP, the IETF specified an RSVP aggregation method that allowsmaking reservations for aggregated flows (see RFC3175, September 2001).Aggregated reservation states are not necessarily created, modified orrefreshed for each flow request.

The RSVP method of aggregation is capable of making an admission controldecision only at an aggregated level, which means that all flows thatare treated together as an aggregate are terminated if there are notenough resources on a new path after re-routing.

As means for providing QoS in large-scale networks, an architecturereferred to as Differentiated Services (DiffServ) was proposed, seeRFC2475, 1998. In the DiffServ architecture scalability is achieved byoffering services on an aggregate rather than per-flow basis, and byarranging the system such that as much as possible of the per-flow stateinformation is kept at edge nodes of the network, and only aggregatedstate information is kept in the interior nodes. The servicedifferentiation is achieved by using a specific field in the IP header,the so-called Differentiated Services (DS) field. Packets are classifiedinto Per-Hop Behaviour (PHB) groups at the DiffServ edge nodes. Packetsare handled in DiffServ routers according to the PHB indicated in the DSfield of the message header. The DiffServ architecture does not specifyany way for devices outside of the domain to dynamically reserveresources or receive indications of network resource availability. Inpractise, service providers rely on subscription-time Service LevelAgreements (SLAs) that statically define the parameters of the trafficthat will be accepted from a customer.

DiffServ networks provide QoS for real-time traffic in a scalable way.DiffServ is a static architecture in which traffic is limited at thedomain edges, and interior nodes have to be designed with properdimensioning. There are no dynamic mechanisms for dealing with overloaddue to re-routing within the domain, such that interior nodes and linksneed to be over-dimensioned with respect to average load, in order toprovide a QoS guarantee up to at least a certain level.

The IETF Next Steps In Signalling (NSIS) working group is working on aprotocol to cope with new signalling requirements in IP networks, seeRFC3726, April 2004. The QoS signalling application protocol of NSIS issimilar to RSVP, but it has some additional features, such as supportingdifferent QoS models. One of the QoS models is Resource Management inDiffServ (RMD). RMD defines scalable admission control methods forDiffServ networks. It also includes a congestion control function thatis able to terminate a number of flows in a congestion situation, inorder to maintain a required QoS for the rest of the flows.

An important characteristic of IP networks and some other packetswitched networks compared with other technologies used incommunications, such as ATM or SDH, is that IP routing protocolsautomatically adapt to topology changes for example, if a link or nodefails, traffic is automatically re-routed. However, a problem can occurin that the new path may not be able to support all of the re-routedflows, e.g. due to a lack of bandwidth. In such a situation congestionmanagement is desirable.

RMD defines functions for notifying edge nodes of a DiffServ domainabout congestion occurring in interior routers. These notifications arebased on “remarking” of data packets in the DS field in the interiorrouters in proportion to the overload. An edge note can then measure thenumber of marked packets and send a termination message for some flows,if it is necessary to reduce the traffic load.

An algorithm for reacting to congestion is e.g. described in AndràsCsàszàr, Attila Takàcs, Robert Szabo, Vlora Rexhepi and GeorgiosKaragiannis “Severe Congestion Handling with Resource Management inDiffServ on Demand”, in proceedings of Networking 2002—The SecondInternational IFIP-TC6 Networking Conference, vol. 2345 of INCS, pages443-454, 2002, Pisa, Italy, or in Lars Westberg, Andràs Csàszàr, GeorgisKaragiannis, Adam Marquetant, David Partain, Octavian Pop, VloraRexhepi, Robert Szabo and Attila Takàcs “Resource Management in DiffServ(RMD): A Functionality and Performance Behaviour Overview” inproceedings of PfHSN 2002—7^(th) International Workshop on Protocols forHigh-Speed Networks, vol. 2334 of INCS, pages 17-34, 2002, Berlin,Germany.

A problem encountered in such algorithms can be that of over-reaction toa congestion condition by terminating more flows than necessary todecrease congestion. This is also called under-shoot, in that the actualload falls below a desired level due to the over-reaction.

WO 2206/052174 describes ways of dealing with the problem ofover-reaction. In the described system, the interior routers of a domainmark packets in proportion to the overload, and the signalled overloadis stored. In other words, the interior routers or nodes have a form of“memory” for measured overload. This memorized information is then takeninto account when marking new packets in the future. Furthermore, theinterior routers mark the forwarded data units proportionally to thedegree of overload, and the egress nodes count the marked data units, inorder to measure the degree of overload.

OBJECT OF THE INVENTION

The object of the present invention is to provide an improved way ofdealing with congestion in network domains comprising one or moreingress nodes, a plurality of interior routers and one or more egressnodes, especially in view of simplifying the interior routers.Preferably, it is desired to also achieve good congestion responsehandling without provoking under-shoot, i.e. without terminating flowsbeyond what is necessary.

SUMMARY OF THE INVENTION

The object is solved by the subject-matter of the independent claims.Advantageous embodiments are described in the dependent claims.

According to a basic embodiment of the present invention, an edge nodeis provided for a network domain that comprises an ingress node forreceiving and routing data units belonging to a plurality of flows intothe network domain, a plurality of interior routers for routing the dataunits through the network domain, and at least one egress node forrouting data units out of the network domain. At least one of theinterior routers is arranged to detect whether it is subject to acongestion condition and to congestion mark routed data units if it issubject to the congestion condition. Note that it is not necessary thatevery interior router have this functionality, but that it is preferablethat each interior router can act in this way. The congestion marking ofrouted data units can e.g. be accomplished by setting a certain value ina predetermined field of the header of a routed data unit. The edge nodeof the invention is arranged to act as the egress node and comprises acontrol element for performing a congestion handling function thatcomprises a part for detecting the presence of congestion marked dataunits, and a part for reacting to the detection of the presence ofcongestion marked data units by invoking a congestion control process.The congestion control process comprises sending to the ingress node aninstruction for terminating one or more flows to thereby reduce atraffic load, waiting a predetermined period of time and thendetermining whether congestion marked data units are still arriving atthe edge node, and if congestion marked data units are still arriving,repeating the steps of sending and waiting.

By waiting a predetermined period of time before possibly sending afurther instruction to reduce traffic load, the delay between sendingsuch an instruction and the instruction actually being put into placeand having an effect can be taken into account. In other words, theabove described concept recognizes that there is a certain delay betweenthe sending of a load reduction instruction by the egress node, and thepoint in time when the egress node is capable of measuring a reaction tothat instruction. The delay comprises the time that it takes for theinstruction to reach the ingress node, the time that the ingress nodetakes to follow the instruction, and the time that it takes for dataunits injected into the domain by the ingress node after following theinstruction for again reaching the egress node. By not sending furtherreduction instructions within the delay period, an under-shoot due toexcessively reacting to the reception of congestion marked data unitscan be avoided in a very simple way. Namely, it is not necessary tospecifically adapt the interior routers of the domain, i.e. these can bekept simple.

In accordance with a preferred embodiment, one or more interior routersare arranged in such a way that they can detect whether a load exceeds afirst load threshold or a second load threshold that is higher than thefirst load threshold, and to generate congestion marked data unitscomprising a first marker if the traffic load exceeds the first loadthreshold, and a second marker that is different from the first markerif the traffic load exceeds the second load threshold. The egress nodein turn can then be arranged in such a way that its congestion controlprocess comprises setting a load reduction parameter to a first loadreduction value in response to detecting the first marker in receiveddata units, and to a second load reduction value in response todetecting the second marker in received data units, where the secondload reduction value corresponds to a larger load reduction than thefirst load reduction value.

The advantage of this concept is that an effective congestion controlcan be achieved with very simple means. Namely, the interior routersonly need to be able to distinguish two different load thresholds forincoming traffic, and to accordingly mark the routed data units. It isnot necessary that the data units be marked in proportion to theoverload or congestion, as it is e.g. possible that the marking occursin a step-wise way, i.e. once the respective threshold is exceeded, allsubsequently routed data units are accordingly marked. In this way, theinterior routers can be implemented in a simple way. Naturally, it isnonetheless possible to combine the concept with that a proportionalmarking, i.e. that the interior node marks only a fraction of theforwarded data units, proportional to the degree of overload orcongestion, once a given threshold is exceeded.

In any case, by providing the two different load thresholds andarranging the egress node to accordingly instruct a larger or smallerload reduction, an effective congestion response can be provided,without the necessity of having to implement any complicated mechanismsin the interior routers or the egress nodes. For example, it is notnecessary to perform proportional marking in the interior routers, noris it then necessary to perform measurements of the degree of congestionon the basis of such proportionally marked data units in the egressnode.

It is noted that the provision of two thresholds and two correspondingload reduction values is only an example, as this concept can naturallyalso be applied with a greater number of thresholds and accordinglyassociated load reduction values. For example, in addition to the twothresholds just mentioned, a third threshold could be providedindicating a higher load than the second threshold, and accordingly theegress node could be arranged to respond to third markers indicating thethird threshold by sending a load reduction instruction corresponding toa third load reduction value that corresponds to a higher load reductionthan the second load reduction value.

BRIEF DESCRIPTION OF FIGURES

FIG. 1 is a schematic representation of a network domain comprising aningress node, an egress node and a plurality of interior routers;

FIG. 2 is a block diagram schematically showing an edge node accordingto an embodiment of the invention;

FIG. 3 is a flow chart showing a basic method embodiment of the presentinvention;

FIG. 4 is a block diagram schematically showing a further embodiment ofan edge node of the present application;

FIG. 5 is a flow chart of a further method embodiment of the presentinvention;

FIG. 6 is a flow chart of yet another method embodiment of the presentinvention;

FIG. 7 is a block diagram schematically showing an embodiment of aninterior router according to an embodiment of the present invention; and

FIG. 8 is a flow chart of an embodiment of a method for controlling aninterior router.

DETAILED DESCRIPTION OF EMBODIMENTS

In the following, specific embodiments of the present invention will bedescribed with reference to the figures.

The embodiments are only intended to be seen as examples of the generalinventive concepts outlined in the claims, such that they have nolimiting effect on the disclosure of these inventive concepts. They onlyserve to provide the skilled person with a better understanding.

FIG. 1 schematically shows a network domain 10 that comprises an ingressnode 11 for receiving and routing data units belonging to a plurality offlows into the network domain 10. It furthermore comprises a pluralityof interior routers 13, 14, 15 for routing the data units through thenetwork domain 10, and an ingress node 12 for routing the data units outof the network domain 10.

It is noted that in the present specification and claims, the term“network domain” is used generically to describe any arrangement ofnodes having the just described structure, i.e. one or more ingressnodes, a plurality of interior routers, and one or more egress nodes. Assuch, a network domain can be a network of its own having routers, wherethe ingress and egress nodes are provided by appropriate gateway serversto other networks, or a network domain can equally be a sub-division ofa larger network. Furthermore, in connection with different protocolsand different technologies the sub-divisions of data sent over a networkcan have different names, such as packets, cells, segments, protocoldata units, etc., and the term “data unit” as used in the presentspecification and claims is generic and relates to any such sub-divisionof a larger data amount.

In the example of FIG. 1, it is assumed that a link failure 19 hasoccurred between interior routers 14 and 15, such that all traffic fromingress node 11 to egress node 12 that used to pass through interiorrouter 14 has to be re-routed via paths 16, 17 and 18 over interiorrouters 13 and 15. As a consequence of this re-routing, it could occurthat an overload or congestion condition occurs in interior router 13.

In the embodiment of FIG. 1, it is assumed that one or more interiorrouters are arranged to detect whether they are subject to a congestioncondition, and to accordingly congestion mark the data units routedthrough them, if a congestion condition is detected. The congestioncondition can be defined in any suitable or desirable way, and equallythe congestion marking can be done in any suitable or desirable way. Forexample, the congestion condition can be determined while measuring thedata rate of incoming traffic before queuing, and comparing this valueto a threshold value. The congestion condition can equally be defined bymeasuring the length of a buffering queue and comparing this value witha corresponding threshold value. In each case, if the threshold value isexceeded, then it is determined that a congestion condition is present.The marking of routed data units for indicating congestion can e.g. bedone by setting appropriate information in the header of the routed dataunits. As an example, when using IP data units, the DiffServ Code Point(DSCP) or Explicit Congestion Notification (ECN) field in the IP headercan be appropriately set to indicate congestion.

The procedure for congestion marking data units can be done in anysuitable or desirable way, it can e.g. be done proportional to theoverload or it can be cone in stepwise fashion. Proportional markingmeans that a degree of overload is measured, and only a fraction of theforwarded data unit is marked in accordance with that degree. A stepwisemarking means that once the threshold is exceeded, all forwarded dataunits are marked. A third option can be that the interior node markspackets that are above a threshold.

FIG. 2 shows a block diagram of a schematic example of an edge nodeaccording to an embodiment of the present invention. Edge node 12, whichis arranged to act as an egress node, is shown in FIG. 1. The edge node12 comprises an input buffer 121 for receiving data units 124 from thenetwork domain 10, and an output buffer 122 for holding data units to beforwarded out of network domain 10. The edge node 12 furthermorecomprises a control element 123 that is arranged to perform a congestionhandling function that comprises a part for detecting the presence ofcongestion marked data units arriving at the edge node 12, and a partfor reacting to the detection of the presence of congestion marked dataunits by invoking an appropriate congestion control process. Thecongestion control process comprises sending to the ingress node 11 aninstruction 125 for terminating one or more flows to thereby reduce atraffic load, waiting a predetermined period of time T_(relax) and thendetermining whether congestion marked data units are still arriving atthe edge node 12. If congestion marked data units are still arriving,then the steps of sending an instruction 125 and waiting the timeT_(relax) is repeated.

This procedure is shown in FIG. 3, where step S31 determines whethercongestion marked data units are arriving, and if this is the case, thensteps S32 and S33 are executed, in which a load reduction instruction issent to the ingress node, and then a time T_(relax) is waited.Afterwards, it is again determined in step S31 whether congestion markeddata units are arriving, and if this is the case, then steps S32 and S33are repeated. Otherwise, the procedure basically loops back to continuedetermining whether congestion marked data units are arriving, wherestep S34 indicates a possibility for ending the procedure, e.g. via anexternal interrupt.

It is noted that the control element 123 shown in FIG. 2 can be providedin any suitable or desirable way. For example, it can be amicroprocessor of known kind for network nodes, which is programmed insuch a way that it implements the novel concepts of the presentinvention. As such, the present invention can also be embodied as acomputer program comprising program code parts arranged to perform themethod of the invention when executed on a programmable network node.The invention can furthermore be embodied as a computer program product,such as a data carrier, comprising a computer program that is arrangedto implement the method of the invention.

On the other hand, the control element 123 can also be composed ofdedicated hardware elements for implementing the congestion handlingfunction, or can comprise a suitable combination of hardware andsoftware.

It is furthermore noted that the edge node 12 shown in FIG. 2 onlyindicates those features relevant for the explanation of the presentinvention, such that other known elements of network nodes are not shownfor the purpose of simplicity.

The node reduction instruction sent by the egress node to the ingressnode can be arranged in any suitable or desirable fashion. Theinstruction can for example be sent via dedicated signalling messagesbetween the egress and ingress nodes, where such signalling messages canbe sent over the same paths as data units, possibly using the sameprotocols, such as IP, or such messages can also be sent over dedicatedsignalling paths and/or using dedicated signalling protocols.

The instruction information itself can be chosen in a variety of ways,as is suitable or desirable. For example, it can be a simple binarysignal that can assume one of two values, where one value indicates areduction and the other indicates no reduction. When the ingress nodereceives the signal indicating reduction, it reduces the traffic by apredetermined value, e.g. the reduction corresponds to a preset datarate amount, and the ingress node then makes a selection among all flowsbeing handled, in order to achieve the desired load reduction. Theselection operation can be done in any suitable or desirable way, e.g.by random choice of flows until so many flows have been terminated thatthe desired reduction is achieved.

In the context of the present specification and claims, the term “flow”is understood generically as relating to data units that are identifiedby a certain source identifier and destination identifier, e.g. a sourceaddress and a destination address. The source and destinationidentifiers can also have further elements, such as port numbers. As aconsequence, real-time or TCP data flows are an example of the genericflows referred to in the present application.

As indicated above, the instruction sent by the egress node to theingress node can be simple binary information that can e.g. be coded bya single bit. However, it is preferable that the instruction comprisesmore information. According to a preferred embodiment the controlelement 123 is arranged such that the congestion control processfurthermore comprises setting a value of a load reduction parameter inresponse to the detection of congestion marked data units, and theinstruction is such that it instructs the ingress node to terminate oneor more flows in accordance with the value of the load reductionparameter. In other words, the load reduction parameter differentiatesmore exactly how much load to reduce. This can be done in a variety ofways. For example, the load reduction parameter could be expressed interms of a pre-arranged adjustment factor expressing different degreesof load reduction. For example, there could be a scale of reductionvalues, where a first value corresponds to a small predeterminedadjustment A, a second value to a larger adjustment 2×A and a thirdvalue to a larger adjustment 3×A, where the instruction contains therespective first, second or third value, and the ingress node isarranged to accordingly reduce load by terminating an appropriate numberof flows.

More preferably, the control element and congestion control process arearranged such that the load reduction parameter is expressed in terms ofan absolute load or a relative load. In other words, the load can e.g.be measured in an absolute value, such as a data rate, and theinstruction can accordingly contain a reduction information in terms ofan absolute load, e.g. as an absolute data rate value. The load can alsobe expressed in relative terms, e.g. as a percentage of total load. Asan example, a relative load can be indicated as a fraction of the loadcaused by a number of flows. The ingress node can then terminate flowsfrom among that number, until the total load (e.g. the total data rateprovided by the flows) has been reduced by the indicated fraction.

According to a preferred embodiment, the control element and congestioncontrol process in the egress node are furthermore such that a flowdetection routine is provided for detecting which flows are affected bycongestion, and the instruction to the ingress node comprises anindication of flows from which one or more are to be terminated inaccordance with the value of the load reduction parameter. In otherwords, when looking e.g. at the example of FIG. 3, it is preferable thatthere is a further step between S31 and S32, which comprises detectingthe flows that are affected by congestion. This means that after havingdetected congestion marked data units, the control element andcongestion control process in the egress node identifies which flowscontain congestion marks, i.e. which flows carry a marking thatindicates congestion. The flows are identified by their source anddestination indications. For example, this detection routine cancomprise examining the data units being received within a certain periodof time, and noting all flow identifiers of data units that carry acongestion marking. The thus determined flow identifiers are then sentto the ingress node with the instruction, such that the ingress node canthen terminate flows from the indicated group. The decision regardingwhich flows to terminate can be made in the ingress node or the egressnode. If the decision is made in the ingress node, then it is notnecessary to provide more information than the identifiers of the flowsaffected by congestion. However, according to a further embodiment, theegress node is arranged such that its control element and congestioncontrol process also comprise a flow selection routine for selectingwhich flows to terminate, and where the instruction to the ingress nodethen comprises an indication of the selected flows. This embodiment isadvantageous in that the ingress node control procedure can be keptsimple, as the selection process is performed by the egress node.

As already specified earlier, the selection process regarding whichflows to terminate can be done in any suitable or desirable way. Forexample, it can be a process of randomly selecting an affected flow,measuring the load of that flow (e.g. in terms of data rate),determining the load reduction when terminating the selected flow, andthen judging whether the termination leads to the reduction as desiredby the set value of the load reduction parameter. If the desired loadreduction is not achieved, then the process of random selection andfollowing determination is repeated, until so many flows have beenconsidered for termination that the desired load reduction is achieved.The thus selected flows are then indicated to the ingress node foractual termination.

Naturally, other forms of flow selection are possible, e.g. it ispossible that the individual load of flows is measured and the flows areclassified according to their load, from highest load to lowest load.Then, the selection process starts by selecting flows with highest loadand examining the effect of termination on load reduction, and selectingflows from highest load towards lowest load, until the desired loadreduction is achieved. This selection procedure has the advantage thatthe selection procedure results in as few flows as possible beingterminated in order to achieve the desired load reduction.

A further criterion for selecting flows to terminate can depend on theflow type. In other words, the selection process can furthermore takeinto account a flow type identifier (e.g. real-time flow, non-real-timeflow) and then make the selection process dependent on the flow type.For example, the selection process can start by only terminatingnon-real-time flows. The flow type-based selection can also be combinedwith the above described random selection or selection based on loadcontribution.

It is noted that the flow identification information can also be used asa means of letting ingress nodes know which instructions are to beprocessed. This will be explained in more detail in the following. In asimple situation, a network domain only has one ingress node. In thiscase, each of one or more egress nodes sends its load reductioninstruction to that ingress node. On the other hand, if a network domaincomprises a plurality of ingress nodes, then there are differentpossibilities for ensuring a reliable communication between the egressnodes sending instructions and the ingress nodes receiving theinstructions. One possibility is that the data units flowing through thenetwork domain comprise an indication of the ingress node that injectedthe data unit into the network domain. In this case, an egress nodereceiving a congestion marked data unit can not only identify which flowthat data unit belongs to, but also from which ingress node it came.Accordingly, load reduction instructions can be sent to the appropriateingress node based on that information. As an alternative, in a systemin which the data units do not carry indications identifying the ingressnodes, or if such information is not to be used, each egress node cansend its instructions to all ingress nodes, together with at least anindication of the flows from which one or more are to be terminated, orwith an indication of specific flows to be terminated. Each ingress nodecan then compare the identified flows with flows being handled byitself, in order to determine whether it is the correct recipient of theinstruction. If it is, it terminates the appropriate flows, and if it isnot, it simply ignores the instruction.

Regarding the setting of a value for the load reduction parameter, thiscan in principle be done in any suitable or desirable way. For example,if the interior routers of the network domain are arranged toproportionally mark data units when a congestion threshold is exceeded,in ways described previously, then the control element and congestionhandling function of the egress node can be arranged to determine thedegree of congestion or overload by counting the number of marked andunmarked data units of each affected flow, to thereby receive anindication of the degree of overload on the basis of the relationshipbetween marked and unmarked data units. The value of the load reductionparameter can then be set accordingly, e.g. proportional to the measureddegree of overload or congestion. As specified in the introduction tothe present application, concepts for arranging interior routers ofnetwork domains in such a way that they mark data units proportionallyto the degree of overload are known from the prior art, such that afurther description is not necessary here.

According to a preferred embodiment of the present invention, in orderto be able to simplify interior routers and also the control procedurein egress nodes arranged for detecting overload situations, thefollowing new concepts are disclosed. One can arrange interior nodes ase.g. shown in the example of FIG. 7, with a control procedure to beexplained with reference to FIG. 8.

FIG. 7 shows an interior router that comprises an input buffer 710 forreceiving data units 720 to be routed, an output buffer 711 foroutputting data units 721 that are to be forwarded, and a controlelement 712 for controlling the operation of receiving and forwardingdata units. As in the example of FIG. 2, further known elements of suchrouters are not shown for the purpose of simplicity.

The control element 712 comprises a part 7121 arranged to detect whethera load at the interior router exceeds a first load threshold th1 or asecond load threshold th2, where the second load threshold th2 is largerthan the first load threshold th1. The load can e.g. be measured interms of data rate of arriving data units 720 before queuing. Thethresholds may be accordingly expressed in absolute terms, i.e. as aload value, or in relative terms, e.g. as a fraction of a predeterminedmaximum load value. The interior router of FIG. 7 furthermore comprisesa part 7122 in the control element 712 for generating congestion markeddata units comprising a first marker L1 if the traffic load exceeds thefirst load threshold th1, and a second marker L2 different from thefirst marker, if the traffic load exceeds the second load threshold th2.In the example of FIG. 7, it is assumed that the first load thresholdth1 but not the second load threshold th2 is exceeded, and therefore theoutgoing data units 721 are marked with L1.

An example of a control process is shown in FIG. 8. In a first step S81it is determined whether the load exceeds the second threshold th2. Ifyes, the outgoing data units are marked with L2, see step S82, and theprocess loops back to the beginning. If the load th2 is not exceeded,the procedure goes to step S83, where it is determined whether thethreshold th1 is exceeded. If this is the case, then the outgoing dataunits are marked with L1, see step S84, and the procedure loops back tothe beginning. If th1 is also not exceeded, then step S85 determineswhether the procedure is to be ended, e.g. based on an externalinterrupt, and if the procedure is to continue, it loops back to thebeginning.

It is noted that the control method of FIG. 8 is conveniently simple inthat the marking of data units is done in a stepwise fashion, i.e. oncea given threshold is exceeded, then all outgoing data units areaccordingly marked. There is no proportional marking in this example.The control method of FIG. 8 is one example of how to control theinterior router shown in FIG. 7. However, it is noted that the interiorrouter of FIG. 7 can also be operated in a way that includesproportional marking, e.g. that element 7121 not only determines theexceeding of threshold of th1 or th2, but at the same time also measuresthe degree in which the threshold is exceeded, and that element 7122marks a proportion of the outgoing data units in correspondence to thedegree with which the respective threshold is exceeded.

In both cases, the edge node acting as an egress node is preferablyarranged in the following way. The egress node can be arranged such thatthe congestion control process comprises setting the load reductionparameter to a first load reduction value LR₁ in response to detectingthe first marker L1, and to a second load reduction value LR₂ inresponse to detecting the second marker L2. The second load reductionvalue LR₂ corresponds to a larger load reduction than the first loadreduction value LR₁.

An example of this concept is shown in the method embodiment of FIG. 5.In a first step S500, it is determined whether congestion marked dataunits are present. If not, the system loops back to the beginning viastep 510, in which it is determined whether the procedure should end,e.g. on the basis of an external interrupt. If congestion marked dataunits are present, step S501 determines whether the marking is an L1marking. If yes, the procedure advances to step 506, in which the loadreduction parameter is set to a first value LR₁. Then, in step S507, theprocedure identifies the affected flows (i.e. which flows carry L1markings) and selects which flows to terminate, in order to achieve aload reduction in accordance with LR₁. Furthermore, a correspondinginstruction is then sent to the ingress node. After that, a periodT_(relax) is set in step S508, during which it is waited, i.e. nofurther reaction to receiving congestion marked data units isundertaken.

After the waiting period T_(relax) has expired, step S509 determineswhether congestion marked data units carrying L1 are still arriving. Ifyes, then the procedure loops back to step S506, in order to repeat theprocess of setting the load reduction parameter and sending aninstruction for reducing the load to the ingress node. If no furtherdata units carrying L1 are arriving, then the procedure loops back tostep S500.

If in step S501 it is on the other hand determined that the congestionmarked data units are carrying L2 markings, then the procedure advancesto steps S502 to S504, which are basically identical to steps S506 toS508, except that in step S502 the load reduction parameter is set tothe second value LR₂, which indicates a larger load reduction than LR₁.After step S504, step S505 determines whether data units carrying L2markings are still arriving, and if this is the case, the system loopsback to step S502, in order to repeat the steps of setting the loadreduction parameter to LR₂ and then sending an appropriate instructionto the ingress node. On the other hand, if no further data unitscarrying L2 are arriving, the procedure goes to step S509 to determinewhether possibly data units carrying L1 are arriving. The significanceof this lies in the fact that LR₂ is associated with L2, which in turnis associated with threshold th2 that is larger than the threshold th1,which is in turn associated with L1 and LR₁. Namely, if the reduction byLR₂ given in step S503 leads to a load reduction at an overloadedinterior router below th2, it is possible that the load still lies aboveth1, i.e. that data units marked with L1 are output, such that aprocedure for further reducing the load in accordance with steps S506 toS508 should be followed.

The presently described embodiment has the following advantages. Whenthe egress node receives congestion marked data units carrying themarker L2, it can be concluded that an overload exceeding th2 isoccurring. If data units carrying L1 are arriving, it can be concludedthat an overload exceeding th1 is occurring. Based on the knowledge thatth2 corresponds to a larger load than th1, a correspondingly larger loadreduction can be initiated (i.e. based on LR₂), without having toperform any measurements indicating the degree of overload. As aconsequence, both interior routers and egress nodes can be simplified incomparison to the prior art.

In the following, examples for choosing the first and second loadreduction value will be presented.

When using the concept of two-level data unit marking, the markingprovides information on the degree of load at an interior router,without having to perform specific measurements. Namely, when data unitsare L1 marked, it is known that the load is between th1 and th2.Moreover, when L2 marking is detected, the load exceeds th2.

Th1 and th2 are preferably chosen in such a way that th1 is associatedwith a slight overload, whereas th2 is associated with a strong overloadthat requires a radical load decrease. For example, th1 can be set tolie 5% above an optimum load value, whereas th2 can be set to lie 10%above the optimum load value. Naturally, these are only examples, andother selections are possible.

As already indicated previously, th1 and th2 can be expressed in anysuitable or desirable way. For example, they can be expressed asabsolute load values, e.g. as a data rate, or as a relative value, e.g.as a fraction of an absolute upper limit load. It is noted that inaccordance with the present invention it is preferable that all interiorrouters of the network domain in which the present application isapplied use the same values of th1 and th2. Due to this, if thedifferent interior routers of the network domain have differentcapacities, it is preferable to express th1 and th2 as relative valueswith respect to a given absolute maximum capacity.

As already mentioned, if the egress node receives L2 marked data units,then it can be concluded that the load in an interior router exceedsth2. When reducing the load, it is desired to sharply decrease the load,but preferably not below th1, as this would constitute an under-shoot.As a consequence, it is preferred to choose the second load reductionvalue that is set if L2 data units are received to a value thatcorresponds to a load reduction that is equal to the difference betweenthe second load threshold th2 and the first load threshold th1. Namely,by reducing the load by this factor, it is ensured that the load willnot fall below th1.

Another way of achieving the same effect is to choose the second loadreduction value in such a way that it corresponds to a load reductionthat is equal to the quotient of the difference between the second loadthreshold th2 and the first load threshold th1 divided by the secondload threshold th2, i.e. equal to (th2−th1)/th2. Choosing the secondload threshold in this way is preferable if the invention is applied ina network domain having a plurality of egress nodes. To give an example,one can assume that th1 and th2 are expressed as relative values of anabsolute maximum load, e.g. as 50% and 60%, respectively. In this case,the second load reduction value can be set to (60−50)/60=⅙. As aconsequence, the edge node that selects the flows in order to reduce theload in accordance with the load reduction value will determine thetotal load of all affected flows (e.g. the total data rate) and thenreduce the number of flows such that the total load is reduced by ⅙.

When the egress node receives L1 marked data units, it can conclude thatthe load at an interior router lies between th1 and th2. As aconsequence, the first load reduction value should correspond to asmaller load reduction than the second load reduction value, becauseusing the above examples, a load reduction corresponding to th2−th1would certainly reduce the load below th1, thereby causing under-shoot.The value of the first load reduction value can be chosen in anysuitable or desirable way with respect to a second load reduction value,e.g. as a certain fraction like ½, ⅓, ¼, etc.

According to a further embodiment, the control element and congestioncontrol process of the egress node are arranged in such a way that ifthe step of setting the load reduction parameter to the first loadreduction value LR₁ is repeated more than once, i.e. that after the timeT_(relax) data units carrying L1 are still received, the value of LR₁ isconsecutively reduced in each repetition. In other words, the congestioncontrol process is such that it comprises a procedure for sending to theingress node the termination instruction corresponding to a momentaryfirst load reduction value LR₁(i) and then waiting the predeterminedperiod of time T_(relax), subsequently determining whether congestionmarked data units containing the first marker L1 are still arriving, andif the first marker is still detected, setting the load reductionparameter to a new momentary first load reduction value LR₁(i+1) that issmaller than the previous momentary first load reduction value LR₁(i),and then repeating the steps of sending the instruction and waitingT_(relax).

This can e.g. be seen from the example of FIG. 6, which is a variationof the method shown in FIG. 5. Steps in FIG. 6 that are identical tocorresponding steps in FIG. 5 carry the same reference numeral, suchthat a renewed description is not necessary. The difference between theexample of FIG. 6 and FIG. 5 is that after determining in step S501 thatthe congestion marked data units carry L1 markers, a value i is set tozero at step S511. Subsequently, in step S512, which corresponds to stepS506 of FIG. 5, the load reduction parameter is set to a first valueLR₁(i)=LR₁(0). Then, in step S507 the flows to be terminated areselected and a corresponding instruction is sent. Afterwards, in stepS513 i is incremented by 1. Then, in step S508, the waiting periodT_(relax) is started. If after step S509 the method loops back to stepS512, a new first load reduction parameter LR₁(i)=LR₁(1) is set, wherein general LR₁(i+1)<LR₁(i). It is noted that in the method of FIG. 6,there is also a step S514 for resetting the value of i subsequent tostep S505 determining that no L2 marked data units are being received.

The significance of choosing ever decreasing values of LR₁ is that ifone knows that the load is between th1 and th2, then each step ofreducing the load makes it more likely that one will fall below th1. Asa consequence, in order to avoid under-shoot, it is preferable that theload reduction value LR₁ be reduced in each successive iteration.

The definition for reducing the subsequent values of LR₁(i) can bechosen in any suitable or desirable way. For example, LR₁(i) can bechosen as LR₁(0)/(i+1). According to a preferred embodiment, the settingof the new momentary first load reduction value LR₁(i+1) smaller thanthe previous momentary value LR₁(i) is arranged such that the sum of theoverall sequence

$\sum\limits_{i = {1\mspace{14mu}\ldots\mspace{14mu} n}}{L\;{R_{1}(i)}}$of consecutively set momentary first load reduction value should besmaller than or equal to the second load reduction value LR₂. Forexample, if LR₂ is chosen to correspond to th2−th1, then the sum overLR₁(i) should preferably be smaller than or equal to th2−th1.

In the general concept of the invention and the above describedembodiments, a waiting period T_(relax) is provided, in order to takeinto account the delay between the sending of a load reductioninstruction by the egress node and the egress node being able toactually determine an affect of having sent that instruction. Thewaiting period T_(relax) can be chosen in any suitable or desirable way.For example, it can be set to a fixed value, i.e. when the edge nodeacting as an egress node is installed, then T_(relax) is set to a fixedvalue, e.g. chosen on the basis of measured delay times between edgenodes in the network domain under consideration. As an example, if theaverage propagation delay between edge nodes in the network domain is T,then T_(relax) can be set to a value somewhat larger than 2T, e.g. 2.5T.

According to a preferred embodiment, the predetermined period of timeT_(relax) is an adaptable value and the control element and thecongestion response procedure of the egress node is arranged such thatan adaptation routine for the time T_(relax) is provided. Thisadaptation routine preferably comprises a routine for determining anindication of a data unit propagation time from the ingress node to theegress node, and adapting T_(relax) on the basis of that indication ofthe data unit propagation time. The routine for determining anindication may comprise monitoring periodic refresh messages and/ordedicated query/response messages and/or keep-alive signalling messagesexchanged between the ingress node and the egress node. This will beexplained with respect to examples in the following.

As mentioned above, the time T_(relax) serves to take into account thedelay between sending an instruction and being able to notice an affectof that instruction. As a consequence, the value should preferably beadjusted on the basis of the propagation delay or roundtrip time (RTT)associated with exchanging messages between the egress node and theingress node. It should be noted that the affect of terminating flows atthe ingress node will propagate with the data units of the flows thatare not terminated, and the time that it takes these date units to reachthe egress node can actually be longer than the average propagationtime, due to routing and queuing delays along the path through thenetwork domain. As a consequence, the predetermined waiting periodT_(relax) may be set to be significantly longer than the propagationdelay, e.g. 3×RTT to 5×RTT.

Different approaches may be used to determine the propagation delay orRTT, depending on the nature of the network domain and the protocols androutines that are employed. For example, if a protocol using soft-statesis used (like RSVP or the NSIS signalling protocol), then refreshmessages are used to maintain reservation states. These messages aretypically sent periodically, and they provide a good opportunity to beused for RTT measurements. Similarly dedicated query/response messagescan be used to derive a value for RTT. In NSIS, a query message isdefined, which can be sent from an egress node to an ingress node. As aresponse, the ingress node sends a corresponding response message backto the egress node, where the egress node can measure the delay betweensending the query and receiving the response, and use this measurementas an estimate of RTT.

Another possibility for assessing RTT can be the use of keep-alivesignalling messages sent between edge nodes of a network domain. On thebasis of such keep-alive signalling messages, each egress node canmaintain a table of propagation delay or RTT values between itself andany other edge node.

Another approach to updating the value of T_(relax) uses worst-caseestimates of the RTT. Instead of measuring the RTT by signallingmessages, one can also use routine data bases of intra-domain routingprotocols (such as USPF, IS-IS) if such protocols are being used. Withsuch a data base, the actual path between any pair of edge nodes can bederived, and by accessing the link queue length properties, theworst-case RTT can be calculated.

FIG. 4 shows a preferred embodiment of a control element 123. Referencenumeral 1231 refers to a part that determines whether congestion markeddata units are being received, but only if T_(relax) is not currentlyrunning, i.e. the system is not in a waiting period. Reference numeral1232 refers to a part for calculating the amount of traffic toterminate, i.e. setting the value of the load reduction parameter ifcongestion marked data units are detected. Reference numeral 1233 refersto a part for identifying affected flows and selecting which flows toterminate, in order to provide the load reduction in accordance with theload reduction value. Part 1233 can e.g. be associated with aninformation base on candidate flows for termination, which flows may begrouped according to their ingress node. After the load reduction valuehas been set, part 1233 selects the necessary number of flows to realizethe desired load decrease. Reference numeral 1235 relates to a part forestimating the delay between sending an instruction and being able tomeasure the affect of the instruction. For example, it can be an RTTestimator using one or more of the above described concepts. Part 1235may e.g. maintain an information base of RTT estimates as a function ofthe ingress nodes. Reference numeral 1234 refers to a part forcalculating or setting the waiting period T_(relax), preferably on thebasis of the estimation made by part 1235 and on the basis of the flowsselected in part 1233. The time T_(relax) can e.g. be set to the maximumRTT among the selected flows, i.e. it is determined which ingress nodeamong the ingress nodes associated with the selected flows is the mostdistant, i.e. has the largest RTT, and this RTT is then set asT_(relax). The set value of T_(relax) can e.g. be counted down in atimer, where the operation of part 1231 is disabled as long as the timeris counting down. It is noted that the selection operation of part 1233may also be made dependent on RTT estimates held in the information baseof element 1235, in such a way that part 1233 selects flows to terminatethat have the smallest stored RTT.

The elements 1231-1235 of control element 1233 shown in FIG. 4 can beprovided as hardware elements, as software elements executed on aprogrammable processor or as combinations of hardware and software.

The above described concepts can be applied in any suitable context ofnetwork domains having ingress nodes, interior routers and egress nodes.It is specifically envisioned to apply the invention in the context ofnetwork domains making use of concepts described in the introduction,such as differentiated services (DiffServ) or more specifically ResourceManagement in DiffServ (RMD). The concepts can also be applied inconnection with RSVP or the NSIS signalling protocol.

Although the present invention has been described with reference tospecific embodiments, these are not intended to have any limitingeffect, as they only serve to provide the skilled person with a betterunderstanding, and the scope of protection of the invention is definedby the terms of the independent claims. Reference numerals serve to makethe claims easier to read, but do not have any limiting effect.

The invention claimed is:
 1. An edge node for a network domain thatcomprises at least one ingress node for receiving and routing data unitsbelonging to a plurality of flows into said network domain, a pluralityof interior routers for routing said data units through said networkdomain, and at least one egress node for routing said data units out ofsaid network domain, at least one of said interior routers beingarranged to detect whether it is subject to a congestion condition andto congestion mark routed data units if it is subject to said congestioncondition, said edge node being arranged to act as said egress node andcomprising: a control element arranged for performing a congestionhandling function that comprises a detecting part, for detecting thepresence of congestion marked data units arriving at said edge node,said congestion marked data units including a first marker or a secondmarker, said first marker indicating that a traffic load at an interiornode exceeds a first load threshold and said second marker indicatingthat a traffic load at an interior node exceeds a second load thresholdcorresponding to a higher load than said first load threshold, areacting part for reacting to the detection of the presence ofcongestion marked data units by invoking a congestion control processthat comprises: a) in response to the detection of congestion markeddata units that include the second marker: i) setting a value of a loadreduction parameter in response to the detection of congestion markeddata units that include the second marker, and ii) sending to saidingress node an instruction for terminating one or more flows to reducea traffic load in accordance with said value of said load reductionparameter, b) waiting a predetermined period of time and thendetermining whether congestion marked data units that include the secondmarker are still arriving at said edge node, and c) if congestion markeddata units are still arriving, repeating steps a) and b).
 2. The edgenode of claim 1, wherein said control element is arranged such that saidload reduction parameter is expressed in terms of one of an absoluteload and a relative load.
 3. The edge node of claim 1, wherein saidcontrol element is arranged such that said congestion control processfurther comprises a flow detection routine for detecting which flows areaffected by congestion, and from which one or more flows are to beterminated in accordance with said value of said load reductionparameter.
 4. The edge node of claim 3, wherein said control element isarranged such that said congestion control process furthermore comprisesa flow selection routine for selecting which flows to terminate, and anindication of said selected flows.
 5. The edge node of claim 1, whereinsaid control element is arranged such that said congestion controlprocess further comprises setting said load reduction parameter to afirst load reduction value in response to detecting said first markerand to a second load reduction value in response to detecting saidsecond marker, said second load reduction value corresponding to largerload reduction than said first load reduction value.
 6. The edge node ofclaim 5, wherein said control element is arranged such that said secondload reduction value corresponds to a load reduction that is equal tothe difference between the second load threshold and the first loadthreshold.
 7. The edge node of claim 5, wherein said control element isarranged such that said second load reduction value corresponds to aload reduction that is equal to the quotient of the difference betweenthe second load threshold and the first load threshold, divided by thesecond load threshold.
 8. The edge node of claim 5 wherein said controlelement is arranged for d) sending to said ingress node said instructionfor terminating one or more flows to reduce a traffic load correspondingto a momentary first load reduction value, e) waiting said predeterminedperiod of time and then determining whether congestion marked data unitscontaining said first marker are still arriving at said edge node, andf) if said first marker is still detected, setting said load reductionparameter to a new momentary first load reduction value smaller than theprevious momentary value and repeating steps d) and e).
 9. The edge nodeof claim 8, wherein said control element is arranged such that saidsetting of said new momentary first load reduction value smaller thanthe previous momentary value is a sum of an overall sequence ofconsecutively set momentary first load reduction values is smaller thanor equal to the second load reduction value.
 10. The edge node of claim1 wherein said control element is arranged such that said predeterminedperiod of time is a fixed value.
 11. The edge node of claim 1 whereinsaid predetermined period of time is an adaptable value and said controlelement is arranged such that an adaptation routine for saidpredetermined period of time is provided.
 12. The edge node of claim 11,wherein said control element is arranged such that said congestionhandling function comprises a routine for determining a data unitpropagation time from said ingress node to said egress node, and saidadaptation routine is arranged for adapting said predetermined period oftime on the basis of a data unit propagation time.
 13. The edge node ofclaim 12, wherein said routine for determining a data unit propagationtime comprises monitoring one or more periodic refresh messages,dedicated query and response messages and keep-alive signalling messagesexchanged between said ingress node and said egress node.
 14. A methodfor controlling an egress node for a network domain that comprises atleast one ingress node for receiving and routing data units belonging toa plurality of flows into said network domain, a plurality of interiorrouters for routing said data units through said network domain, and atleast one egress node for routing said data units out of said networkdomain, at least one of said interior routers being arranged to detectwhether the egress node is subject to a congestion condition and tocongestion mark routed data units if it is subject to said congestioncondition, the method comprising: detecting the presence of congestionmarked data units arriving at said edge node said congestion marked dataunits including a first marker or a second marker, said first markerindicating that a traffic load at an interior node exceeds a first loadthreshold and said second marker indicating that a traffic load at aninterior node exceeds a second load threshold corresponding to a higherload than said first load threshold, reacting to the detection of thepresence of congestion marked data units by invoking a congestioncontrol process that comprises a) in response to the detection ofcongestion marked data units that include the second marker: i) settinga value of a load reduction parameter in response to the detection ofcongestion marked data units that include the second marker, and ii)sending to said ingress node an instruction for terminating one or moreflows to reduce a traffic load in accordance with said value of saidload reduction parameter, b) waiting a predetermined period of time andthen determining whether congestion marked data units that include thesecond marker are still arriving at said edge node, and c) if congestionmarked data units are still arriving, repeating steps a) and b).
 15. Themethod of claim 14, wherein said load reduction parameter is expressedin terms of one of an absolute load and a relative load.
 16. The methodof claim 14, wherein said congestion control process further comprises aflow detection routine for detecting which flows are affected bycongestion, and said terminating instruction comprises an indication offlows from which one or more are to be terminated in accordance withsaid value of said load reduction parameter.
 17. The method of claim 16,wherein said congestion control process furthermore comprises a flowselection routine for selecting which flows to terminate, and whereinsaid instruction comprises an indication of said selected flows.
 18. Themethod of claim 14, wherein said congestion control process furthermorecomprises setting said load reduction parameter to a first loadreduction value in response to detecting said first marker and to asecond load reduction value in response to detecting said second marker,said second load reduction value corresponding to larger load reductionthan said first load reduction value.
 19. The method of claim 18,wherein said second load reduction value corresponds to a load reductionthat is equal to the difference between the second load threshold andthe first load threshold.
 20. The method of claim 18, wherein saidsecond load reduction value corresponds to a load reduction that isequal to the quotient of the difference between the second loadthreshold and the first load threshold, divided by the second loadthreshold.
 21. The method of claim 18 wherein said congestion controlprocess further comprises d) sending to said ingress node saidinstruction for terminating one or more flows to thereby reduce atraffic load corresponding to a momentary first load reduction value, e)waiting said predetermined period of time and then determining whethercongestion marked data units containing said first marker are stillarriving at said edge node, f) if said first marker is still detected,setting said load reduction parameter to a new momentary first loadreduction value smaller than the previous momentary value and repeatingsteps d) and e).
 22. The method of claim 21, wherein said setting ofsaid new momentary first load reduction value smaller than the previousmomentary value is arranged such that a sum of an overall sequence ofconsecutively set momentary first load reduction values is smaller thanor equal to the second load reduction value.
 23. The method of claim 14wherein said control element is arranged such that said predeterminedperiod of time is a fixed value.
 24. The method of claim 14 wherein saidpredetermined period of time is an adaptable value and said controlelement is arranged such that an adaptation routine for saidpredetermined period of time is provided.
 25. The method of claim 24,further comprising said congestion handling function determining a dataunit propagation time from said ingress node to said egress node, andsaid adaptation routine adapting said predetermined period of time onthe basis of said data unit propagation time.
 26. The method of claim25, wherein said routine for determining a data unit propagation timecomprises monitoring one or more periodic refresh messages, dedicatedquery and response messages and keep-alive signalling messages exchangedbetween said ingress node and said egress node.